<!DOCTYPE html>
<html lang="ko">
<head prefix="og: http://ogp.me/ns#">
  <meta charset="utf-8">
  <title>Filter | Hexo</title>
  <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- Canonical links -->
  <link rel="canonical" href="https://hexo.io/ko/api/filter.html">
  <!-- Alternative links -->
  
    
      <link rel="alternative" hreflang="en" href="https://hexo.io/api/filter.html">
    
      <link rel="alternative" hreflang="zh-tw" href="https://hexo.io/zh-tw/api/filter.html">
    
      <link rel="alternative" hreflang="zh-cn" href="https://hexo.io/zh-cn/api/filter.html">
    
      <link rel="alternative" hreflang="ru" href="https://hexo.io/ru/api/filter.html">
    
      <link rel="alternative" hreflang="ko" href="https://hexo.io/ko/api/filter.html">
    
  
  <!-- Icon -->
  <link rel="apple-touch-icon" sizes="57x57" href="/icon/apple-touch-icon-57x57.png">
  <link rel="apple-touch-icon" sizes="114x114" href="/icon/apple-touch-icon-114x114.png">
  <link rel="apple-touch-icon" sizes="72x72" href="/icon/apple-touch-icon-72x72.png">
  <link rel="apple-touch-icon" sizes="144x144" href="/icon/apple-touch-icon-144x144.png">
  <link rel="apple-touch-icon" sizes="60x60" href="/icon/apple-touch-icon-60x60.png">
  <link rel="apple-touch-icon" sizes="120x120" href="/icon/apple-touch-icon-120x120.png">
  <link rel="apple-touch-icon" sizes="76x76" href="/icon/apple-touch-icon-76x76.png">
  <link rel="apple-touch-icon" sizes="152x152" href="/icon/apple-touch-icon-152x152.png">
  <link rel="icon" type="image/png" href="/icon/favicon-196x196.png" sizes="196x196">
  <link rel="icon" type="image/png" href="/icon/favicon-160x160.png" sizes="160x160">
  <link rel="icon" type="image/png" href="/icon/favicon-96x96.png" sizes="96x96">
  <link rel="icon" type="image/png" href="/icon/favicon-16x16.png" sizes="16x16">
  <link rel="icon" type="image/png" href="/icon/favicon-32x32.png" sizes="32x32">
  <meta name="msapplication-TileColor" content="#2f83cd">
  <meta name="msapplication-TileImage" content="/icon/mstile-144x144.png">
  <!-- CSS -->
  <!-- build:css build/css/navy.css -->
  <link rel="stylesheet" href="/css/navy.css">
  <!-- endbuild -->
  <link href="https://fonts.googleapis.com/css?family=Lato:300,400,700" rel="stylesheet" type="text/css">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css">
  <!-- RSS -->
  <link rel="alternate" href="/atom.xml" title="Hexo">
  <!-- Open Graph -->
  <meta name="description" content="Filter는 특정한 데이터를 수정할 때 사용합니다. Hexo는 데이터를 filter로 순차적으로 전달하고 filter들은 교대로 데이터를 수정할 수 있습니다. 이 컨셉은 WordPress에서 차용하였습니다. 개요hexo.extend.filter.register(type, function()&amp;#123;  // ...&amp;#125;, priority); 당신은">
<meta property="og:type" content="website">
<meta property="og:title" content="Filter">
<meta property="og:url" content="https://hexo.io/ko/api/filter.html">
<meta property="og:site_name" content="Hexo">
<meta property="og:description" content="Filter는 특정한 데이터를 수정할 때 사용합니다. Hexo는 데이터를 filter로 순차적으로 전달하고 filter들은 교대로 데이터를 수정할 수 있습니다. 이 컨셉은 WordPress에서 차용하였습니다. 개요hexo.extend.filter.register(type, function()&amp;#123;  // ...&amp;#125;, priority); 당신은">
<meta property="og:locale" content="ko">
<meta property="og:updated_time" content="2017-12-06T21:52:16.000Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Filter">
<meta name="twitter:description" content="Filter는 특정한 데이터를 수정할 때 사용합니다. Hexo는 데이터를 filter로 순차적으로 전달하고 filter들은 교대로 데이터를 수정할 수 있습니다. 이 컨셉은 WordPress에서 차용하였습니다. 개요hexo.extend.filter.register(type, function()&amp;#123;  // ...&amp;#125;, priority); 당신은">
<meta name="twitter:site" content="hexojs">
<meta property="fb:admins" content="100000247608790">
  <!-- Google Analytics -->
  
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-48498357-3', 'auto');
  ga('send', 'pageview');
</script>

</head>

<body>
  <div id="container">
    <header id="header" class="wrapper">
  <div id="header-inner" class="inner">
    <h1 id="logo-wrap">
      <a href="/ko/" id="logo">Hexo</a>
    </h1>
    <nav id="main-nav">
      <a href="/ko/docs/" class="main-nav-link">Docs</a><a href="/ko/api/" class="main-nav-link">API</a><a href="/news/" class="main-nav-link">News</a><a href="/plugins/" class="main-nav-link">Plugins</a><a href="/themes/" class="main-nav-link">Themes</a>
      <a href="https://github.com/hexojs/hexo" class="main-nav-link"><i class="fa fa-github-alt"></i></a>
      <div id="search-input-wrap">
        <div id="search-input-icon">
          <i class="fa fa-search"></i>
        </div>
        <input type="search" id="search-input" placeholder="Search...">
      </div>
    </nav>
    <div id="lang-select-wrap">
      <label id="lang-select-label"><i class="fa fa-globe"></i><span>한국어</span></label>
      <select id="lang-select" data-canonical="api/filter.html">
        
          <option value="en">English</option>
        
          <option value="zh-tw">正體中文</option>
        
          <option value="zh-cn">简体中文</option>
        
          <option value="ru">Русский</option>
        
          <option value="ko" selected>한국어</option>
        
      </select>
    </div>
    <a id="mobile-nav-toggle">
      <span class="mobile-nav-toggle-bar"></span>
      <span class="mobile-nav-toggle-bar"></span>
      <span class="mobile-nav-toggle-bar"></span>
    </a>
  </div>
</header>

    <div id="content-wrap">
  <div id="content" class="wrapper">
    <div id="content-inner">
      <article class="article-container" itemscope itemtype="http://schema.org/Article">
        <div class="article-inner">
          <div class="article">
            <div class="inner">
              <header class="article-header">
                <h1 class="article-title" itemprop="name">Filter</h1>
                <a href="https://github.com/hexojs/site/edit/master/source/ko/api/filter.md" class="article-edit-link" title="Improve this doc"><i class="fa fa-pencil"></i></a>
              </header>
              <div class="article-content" itemprop="articleBody">
                <p>Filter는 특정한 데이터를 수정할 때 사용합니다. Hexo는 데이터를 filter로 순차적으로 전달하고 filter들은 교대로 데이터를 수정할 수 있습니다. 이 컨셉은 <a href="http://codex.wordpress.org/Plugin_API#Filters" target="_blank" rel="noopener">WordPress</a>에서 차용하였습니다.</p>
<h2 id="개요" class="article-heading"><a href="#개요" class="headerlink" title="개요"></a>개요<a class="article-anchor" href="#개요" aria-hidden="true"></a></h2><figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.extend.filter.register(type, <span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>&#123;</span><br><span class="line">  <span class="comment">// ...</span></span><br><span class="line">&#125;, priority);</span><br></pre></td></tr></table></figure>
<p>당신은 <code>priority</code>을 정의할 수 있습니다. 기본값은 10이며, 값이 낮을 수록 먼저 실행됩니다.</p>
<h2 id="Filter의-실행" class="article-heading"><a href="#Filter의-실행" class="headerlink" title="Filter의 실행"></a>Filter의 실행<a class="article-anchor" href="#Filter의-실행" aria-hidden="true"></a></h2><figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.extend.filter.exec(type, data, options);</span><br><span class="line">hexo.extend.filter.execSync(type, data, options);</span><br></pre></td></tr></table></figure>
<table>
<thead>
<tr>
<th>옵션</th>
<th>설명</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>context</code></td>
<td>Context</td>
</tr>
<tr>
<td><code>args</code></td>
<td>인자. 이 값은 배열(array)입니다.</td>
</tr>
</tbody>
</table>
<p>Filter의 첫 번째 인자는 <code>data</code> 입니다. 다음 filter로 전달 된 <code>data</code>는 새 값으로 변경되어 반환될 수 있습니다. 아무런 값도 반환되지 않았다면 data의 값이 변경되지 않았다는 의미입니다. Filter의 다른 인자를 지정하기 위해 <code>args</code>를 사용할 수도 있습니다. 아래 예시를 봐주세요.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.extend.filter.register(<span class="string">'test'</span>, <span class="function"><span class="keyword">function</span>(<span class="params">data, arg1, arg2</span>)</span>&#123;</span><br><span class="line">  <span class="comment">// data === 'some data'</span></span><br><span class="line">  <span class="comment">// arg1 === 'foo'</span></span><br><span class="line">  <span class="comment">// arg2 === 'bar'</span></span><br><span class="line"></span><br><span class="line">  <span class="keyword">return</span> <span class="string">'something'</span>;</span><br><span class="line">&#125;);</span><br><span class="line"></span><br><span class="line">hexo.extend.filter.register(<span class="string">'test'</span>, <span class="function"><span class="keyword">function</span>(<span class="params">data, arg1, arg2</span>)</span>&#123;</span><br><span class="line">  <span class="comment">// data === 'something'</span></span><br><span class="line">&#125;);</span><br><span class="line"></span><br><span class="line">hexo.extend.filter.exec(<span class="string">'test'</span>, <span class="string">'some data'</span>, &#123;</span><br><span class="line">  args: [<span class="string">'foo'</span>, <span class="string">'bar'</span>]</span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure>
<p>Filter를 실행하기 위해 아래 메소드들을 사용할 수도 있습니다.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.execFilter(type, data, options);</span><br><span class="line">hexo.execFilterSync(type, data, options);</span><br></pre></td></tr></table></figure>
<h2 id="Filter의-등록-해제" class="article-heading"><a href="#Filter의-등록-해제" class="headerlink" title="Filter의 등록 해제"></a>Filter의 등록 해제<a class="article-anchor" href="#Filter의-등록-해제" aria-hidden="true"></a></h2><figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.extend.filter.unregister(type, filter);</span><br></pre></td></tr></table></figure>
<h2 id="Filter-목록" class="article-heading"><a href="#Filter-목록" class="headerlink" title="Filter 목록"></a>Filter 목록<a class="article-anchor" href="#Filter-목록" aria-hidden="true"></a></h2><p>Hexo에서 사용하는 filter의 목록은 아래와 같습니다.</p>
<h3 id="before-post-render" class="article-heading"><a href="#before-post-render" class="headerlink" title="before_post_render"></a>before_post_render<a class="article-anchor" href="#before-post-render" aria-hidden="true"></a></h3><p>Post가 생성되기 전에 실행됩니다. 실행 단계에 대해 더 알아보시길 원한다면 <a href="posts.html#Render">post rendering</a>를 참조해 주세요.</p>
<p>아래 예시는 title을 소문자로 변경하는 것을 보여줍니다.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.extend.filter.register(<span class="string">'before_post_render'</span>, <span class="function"><span class="keyword">function</span>(<span class="params">data</span>)</span>&#123;</span><br><span class="line">  data.title = data.title.toLowerCase();</span><br><span class="line">  <span class="keyword">return</span> data;</span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure>
<h3 id="after-post-render" class="article-heading"><a href="#after-post-render" class="headerlink" title="after_post_render"></a>after_post_render<a class="article-anchor" href="#after-post-render" aria-hidden="true"></a></h3><p>Post가 생성된 후 실행됩니다.<br>Executed after a post is rendered. 실행 단계에 대해 더 알아보시길 원한다면 <a href="posts.html#Render">post rendering</a>를 참조해 주세요.</p>
<p>아래 예시는 <code>@username</code>을 Twitter link로 대체하는 것을 보여줍니다.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.extend.filter.register(<span class="string">'after_post_render'</span>, <span class="function"><span class="keyword">function</span>(<span class="params">data</span>)</span>&#123;</span><br><span class="line">  data.content = data.content.replace(<span class="regexp">/@(\d+)/</span>, <span class="string">'&lt;a href="http://twitter.com/$1"&gt;#$1&lt;/a&gt;'</span>);</span><br><span class="line">  <span class="keyword">return</span> data;</span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure>
<h3 id="before-exit" class="article-heading"><a href="#before-exit" class="headerlink" title="before_exit"></a>before_exit<a class="article-anchor" href="#before-exit" aria-hidden="true"></a></h3><p>Hexo가 종료되기 전에 실행됩니다. – <code>hexo.exit</code>가 호출되는 즉시 실행됩니다.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.extend.filter.register(<span class="string">'before_exit'</span>, <span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>&#123;</span><br><span class="line">  <span class="comment">// ...</span></span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure>
<h3 id="before-generate" class="article-heading"><a href="#before-generate" class="headerlink" title="before_generate"></a>before_generate<a class="article-anchor" href="#before-generate" aria-hidden="true"></a></h3><p>생성(generation)이 시작되기 전에 실행됩니다.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.extend.filter.register(<span class="string">'before_generate'</span>, <span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>&#123;</span><br><span class="line">  <span class="comment">// ...</span></span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure>
<h3 id="after-generate" class="article-heading"><a href="#after-generate" class="headerlink" title="after_generate"></a>after_generate<a class="article-anchor" href="#after-generate" aria-hidden="true"></a></h3><p>생성(generation)이 끝난 후에 실행됩니다.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.extend.filter.register(<span class="string">'after_generate'</span>, <span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>&#123;</span><br><span class="line">  <span class="comment">// ...</span></span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure>
<h3 id="template-locals" class="article-heading"><a href="#template-locals" class="headerlink" title="template_locals"></a>template_locals<a class="article-anchor" href="#template-locals" aria-hidden="true"></a></h3><p>템플릿에서 <a href="../docs/variables.html">지역 변수(Local variables)</a>를 수정합니다.</p>
<p>아래 예시는 템플릿의 지역 변수에 현재 시간을 추가합니다.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.extend.filter.register(<span class="string">'template_locals'</span>, <span class="function"><span class="keyword">function</span>(<span class="params">locals</span>)</span>&#123;</span><br><span class="line">  locals.now = <span class="built_in">Date</span>.now();</span><br><span class="line">  <span class="keyword">return</span> locals;</span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure>
<h3 id="after-init" class="article-heading"><a href="#after-init" class="headerlink" title="after_init"></a>after_init<a class="article-anchor" href="#after-init" aria-hidden="true"></a></h3><p>Hexo가 초기화 작업이 완료된 후 실행됩니다. – <code>hexo.init</code>이 완료되는 즉시 실행됩니다.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.extend.filter.register(<span class="string">'after_init'</span>, <span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>&#123;</span><br><span class="line">  <span class="comment">// ...</span></span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure>
<h3 id="new-post-path" class="article-heading"><a href="#new-post-path" class="headerlink" title="new_post_path"></a>new_post_path<a class="article-anchor" href="#new-post-path" aria-hidden="true"></a></h3><p>새로운 포스트가 생성될 때 포스트의 경로를 결정하기 위해 실행됩니다.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.extend.filter.register(<span class="string">'new_post_path'</span>, <span class="function"><span class="keyword">function</span>(<span class="params">data, replace</span>)</span>&#123;</span><br><span class="line">  <span class="comment">// ...</span></span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure>
<h3 id="post-permalink" class="article-heading"><a href="#post-permalink" class="headerlink" title="post_permalink"></a>post_permalink<a class="article-anchor" href="#post-permalink" aria-hidden="true"></a></h3><p>Post의 permalink를 결정하기 위해 사용합니다.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.extend.filter.register(<span class="string">'post_permalink'</span>, <span class="function"><span class="keyword">function</span>(<span class="params">data</span>)</span>&#123;</span><br><span class="line">  <span class="comment">// ...</span></span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure>
<h3 id="after-render" class="article-heading"><a href="#after-render" class="headerlink" title="after_render"></a>after_render<a class="article-anchor" href="#after-render" aria-hidden="true"></a></h3><p>렌더링이 완료된 후 실행됩니다. <a href="rendering.html#after_render_Filters">Rendering</a>에서 더 많은 정보를 확인하실 수 있습니다.</p>
<h3 id="server-middleware" class="article-heading"><a href="#server-middleware" class="headerlink" title="server_middleware"></a>server_middleware<a class="article-anchor" href="#server-middleware" aria-hidden="true"></a></h3><p>서버에 미들웨어를 추가합니다. <code>app</code>은 <a href="https://github.com/senchalabs/connect" target="_blank" rel="noopener">Connect</a> 인스턴스입니다.</p>
<p>아래 예시는 response header에 <code>X-Powered-By: Hexo</code>를 추가합니다.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.extend.filter.register(<span class="string">'server_middleware'</span>, <span class="function"><span class="keyword">function</span>(<span class="params">app</span>)</span>&#123;</span><br><span class="line">  app.use(<span class="function"><span class="keyword">function</span>(<span class="params">req, res, next</span>)</span>&#123;</span><br><span class="line">    res.setHeader(<span class="string">'X-Powered-By'</span>, <span class="string">'Hexo'</span>);</span><br><span class="line">    next();</span><br><span class="line">  &#125;);</span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure>

              </div>
              <footer class="article-footer">
                <time class="article-footer-updated" datetime="2017-12-06T21:52:16.000Z" itemprop="dateModified">Last updated: 2017-12-06</time>
                <a href="deployer.html" class="article-footer-prev" title="Deployer"><i class="fa fa-chevron-left"></i><span>Prev</span></a><a href="generator.html" class="article-footer-next" title="Generator"><span>Next</span><i class="fa fa-chevron-right"></i></a>
              </footer>
              
<section id="comments">
  <div id="disqus_thread"></div>
</section>
<script>
  var disqus_shortname = 'hexojs';
  var disqus_url = 'https://hexo.io/ko/api/filter.html';
  var disqus_title = "Filter";
  var disqus_config = function(){
    this.language = 'ko';
  };
  (function(){
    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
    dsq.src = 'https://go.disqus.com/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
  })();
</script>

            </div>
          </div>
          <aside id="article-toc" role="navigation">
            <div id="article-toc-inner">
              <script async type="text/javascript" src="//cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=hexoio" id="_carbonads_js"></script>
              <strong class="sidebar-title">Contents</strong>
              <ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#개요"><span class="toc-text"><a href="#&#xAC1C;&#xC694;" class="headerlink" title="&#xAC1C;&#xC694;"></a>&#xAC1C;&#xC694;</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Filter의-실행"><span class="toc-text"><a href="#Filter&#xC758;-&#xC2E4;&#xD589;" class="headerlink" title="Filter&#xC758; &#xC2E4;&#xD589;"></a>Filter&#xC758; &#xC2E4;&#xD589;</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Filter의-등록-해제"><span class="toc-text"><a href="#Filter&#xC758;-&#xB4F1;&#xB85D;-&#xD574;&#xC81C;" class="headerlink" title="Filter&#xC758; &#xB4F1;&#xB85D; &#xD574;&#xC81C;"></a>Filter&#xC758; &#xB4F1;&#xB85D; &#xD574;&#xC81C;</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Filter-목록"><span class="toc-text"><a href="#Filter-&#xBAA9;&#xB85D;" class="headerlink" title="Filter &#xBAA9;&#xB85D;"></a>Filter &#xBAA9;&#xB85D;</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#before-post-render"><span class="toc-text"><a href="#before-post-render" class="headerlink" title="before_post_render"></a>before_post_render</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#after-post-render"><span class="toc-text"><a href="#after-post-render" class="headerlink" title="after_post_render"></a>after_post_render</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#before-exit"><span class="toc-text"><a href="#before-exit" class="headerlink" title="before_exit"></a>before_exit</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#before-generate"><span class="toc-text"><a href="#before-generate" class="headerlink" title="before_generate"></a>before_generate</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#after-generate"><span class="toc-text"><a href="#after-generate" class="headerlink" title="after_generate"></a>after_generate</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#template-locals"><span class="toc-text"><a href="#template-locals" class="headerlink" title="template_locals"></a>template_locals</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#after-init"><span class="toc-text"><a href="#after-init" class="headerlink" title="after_init"></a>after_init</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#new-post-path"><span class="toc-text"><a href="#new-post-path" class="headerlink" title="new_post_path"></a>new_post_path</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#post-permalink"><span class="toc-text"><a href="#post-permalink" class="headerlink" title="post_permalink"></a>post_permalink</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#after-render"><span class="toc-text"><a href="#after-render" class="headerlink" title="after_render"></a>after_render</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#server-middleware"><span class="toc-text"><a href="#server-middleware" class="headerlink" title="server_middleware"></a>server_middleware</span></a></li></ol></li></ol>
              <a href="#" id="article-toc-top">Back to Top</a>
            </div>
          </aside>
        </div>
      </article>
      <aside id="sidebar" role="navigation">
  <div class="inner">
    <strong class="sidebar-title">Core</strong><a href="index.html" class="sidebar-link">Overview</a><a href="events.html" class="sidebar-link">Events</a><a href="locals.html" class="sidebar-link">Locals</a><a href="router.html" class="sidebar-link">Router</a><a href="box.html" class="sidebar-link">Box</a><a href="rendering.html" class="sidebar-link">Rendering</a><a href="posts.html" class="sidebar-link">Posts</a><a href="scaffolds.html" class="sidebar-link">Scaffolds</a><a href="themes.html" class="sidebar-link">Themes</a><strong class="sidebar-title">Extensions</strong><a href="console.html" class="sidebar-link">Console</a><a href="deployer.html" class="sidebar-link">Deployer</a><a href="filter.html" class="sidebar-link current">Filter</a><a href="generator.html" class="sidebar-link">Generator</a><a href="helper.html" class="sidebar-link">Helper</a><a href="migrator.html" class="sidebar-link">Migrator</a><a href="processor.html" class="sidebar-link">Processor</a><a href="renderer.html" class="sidebar-link">Renderer</a><a href="tag.html" class="sidebar-link">Tag</a>
  </div>
</aside>
    </div>
  </div>
</div>

    <footer id="footer" class="wrapper">
  <div class="inner">
    <div id="footer-copyright">
      &copy; 2017 <a href="https://github.com/hexojs/hexo/graphs/contributors" target="_blank">Hexo</a><br>
      Documentation licensed under <a href="http://creativecommons.org/licenses/by/4.0/" target="_blank">CC BY 4.0</a>.
    </div>
    <div id="footer-links">
      <a href="https://twitter.com/hexojs" class="footer-link" target="_blank"><i class="fa fa-twitter"></i></a>
      <a href="https://github.com/hexojs/hexo" class="footer-link" target="_blank"><i class="fa fa-github-alt"></i></a>
    </div>
  </div>
</footer>

  </div>
  <div id="mobile-nav-dimmer"></div>
  <nav id="mobile-nav">
  <div id="mobile-nav-inner">
    <ul id="mobile-nav-list">
      <a href="/ko/docs/" class="mobile-nav-link">Docs</a><a href="/ko/api/" class="mobile-nav-link">API</a><a href="/news/" class="mobile-nav-link">News</a><a href="/plugins/" class="mobile-nav-link">Plugins</a><a href="/themes/" class="mobile-nav-link">Themes</a>
      <li class="mobile-nav-item">
        <a href="https://github.com/hexojs/hexo" class="mobile-nav-link" rel="external" target="_blank">GitHub</a>
      </li>
    </ul>
    
      <strong class="mobile-nav-title">Core</strong><a href="index.html" class="mobile-nav-link">Overview</a><a href="events.html" class="mobile-nav-link">Events</a><a href="locals.html" class="mobile-nav-link">Locals</a><a href="router.html" class="mobile-nav-link">Router</a><a href="box.html" class="mobile-nav-link">Box</a><a href="rendering.html" class="mobile-nav-link">Rendering</a><a href="posts.html" class="mobile-nav-link">Posts</a><a href="scaffolds.html" class="mobile-nav-link">Scaffolds</a><a href="themes.html" class="mobile-nav-link">Themes</a><strong class="mobile-nav-title">Extensions</strong><a href="console.html" class="mobile-nav-link">Console</a><a href="deployer.html" class="mobile-nav-link">Deployer</a><a href="filter.html" class="mobile-nav-link current">Filter</a><a href="generator.html" class="mobile-nav-link">Generator</a><a href="helper.html" class="mobile-nav-link">Helper</a><a href="migrator.html" class="mobile-nav-link">Migrator</a><a href="processor.html" class="mobile-nav-link">Processor</a><a href="renderer.html" class="mobile-nav-link">Renderer</a><a href="tag.html" class="mobile-nav-link">Tag</a>
    
  </div>
  <div id="mobile-lang-select-wrap">
    <span id="mobile-lang-select-label"><i class="fa fa-globe"></i><span>한국어</span></span>
    <select id="mobile-lang-select" data-canonical="api/filter.html">
      
        <option value="en">English</option>
      
        <option value="zh-tw">正體中文</option>
      
        <option value="zh-cn">简体中文</option>
      
        <option value="ru">Русский</option>
      
        <option value="ko" selected>한국어</option>
      
    </select>
  </div>
</nav>
  <!-- Scripts -->
<!-- build:js build/js/main.js -->
<script src="/js/lang_select.js"></script>
<script src="/js/toc.js"></script>
<script src="/js/mobile_nav.js"></script>
<!-- endbuild -->

<!-- Algolia -->


</body>
</html>